#ifndef VIDEOPLAYER_H
#define VIDEOPLAYER_H

#include <string>
#include <unistd.h>
#include <sys/wait.h>
#include <signal.h>
#include <iostream>

class VideoPlayer {
public:
    /**
     * @brief 构造函数，初始化播放器路径
     * @param playerPath 播放器可执行文件路径（如 "/usr/bin/mplayer"）
     */
    explicit VideoPlayer(const std::string& playerPath);

    /**
     * @brief 析构函数，自动停止播放
     */
    ~VideoPlayer();

    /**
     * @brief 播放视频文件
     * @param filePath 视频文件路径
     * @return 是否成功启动播放
     */
    bool play(const std::string& filePath);

    /**
     * @brief 停止播放
     */
    void stop();

    /**
     * @brief 暂停播放
     */
    void pause();

    /**
     * @brief 恢复播放
     */
    void resume();

    /**
     * @brief 检查是否正在播放
     * @return true 表示正在播放
     */
    bool isPlaying() const;

private:
    std::string m_playerPath;  // 播放器路径
    pid_t m_playerPid;         // 播放器进程ID
    bool m_isPlaying;          // 播放状态
};

#endif // VIDEOPLAYER_H